```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>深入理解Java虚拟机(JVM)架构</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            line-height: 1.6;
            color: #333;
            background-color: #f9fafb;
        }
        .hero {
            background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
            color: white;
        }
        .card {
            transition: all 0.3s ease;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
        }
        .card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }
        .section-title {
            position: relative;
            padding-left: 1.5rem;
        }
        .section-title::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.3em;
            height: 1.2em;
            width: 4px;
            border-radius: 2px;
            background: linear-gradient(to bottom, #3b82f6, #1d4ed8);
        }
        .feature-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
        }
        .list-item {
            position: relative;
            padding-left: 1.5rem;
            margin-bottom: 0.5rem;
        }
        .list-item::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.6em;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #3b82f6;
        }
        .footer {
            background-color: #1e293b;
            color: #e2e8f0;
        }
        .footer a:hover {
            color: #93c5fd;
        }
        .animate-float {
            animation: float 6s ease-in-out infinite;
        }
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
            100% { transform: translateY(0px); }
        }
    </style>
</head>
<body>
    <!-- Hero Section -->
    <section class="hero py-20 px-4 sm:px-6 lg:px-8">
        <div class="max-w-5xl mx-auto">
            <div class="flex flex-col md:flex-row items-center justify-between gap-12">
                <div class="md:w-1/2">
                    <h1 class="text-4xl md:text-5xl font-bold mb-6 leading-tight">深入理解 Java 虚拟机</h1>
                    <p class="text-xl md:text-2xl text-blue-100 mb-8">探索 JVM 的内部架构与核心组件</p>
                    <p class="text-lg text-blue-50 mb-8">Java 虚拟机是一个复杂的软件系统，负责执行 Java 字节码、管理内存、提供跨平台兼容性等。了解其内部结构对于优化 Java 应用性能至关重要。</p>
                    <div class="flex flex-wrap gap-4">
                        <a href="#overview" class="bg-white text-blue-600 hover:bg-blue-50 px-6 py-3 rounded-lg font-medium transition duration-300">开始探索</a>
                        <a href="#components" class="border-2 border-white text-white hover:bg-white hover:text-blue-600 px-6 py-3 rounded-lg font-medium transition duration-300">核心组件</a>
                    </div>
                </div>
                <div class="md:w-1/2 flex justify-center">
                    <div class="relative w-full max-w-md">
                        <div class="absolute -top-8 -left-8 w-64 h-64 bg-blue-300 rounded-full opacity-20 animate-pulse"></div>
                        <div class="absolute -bottom-8 -right-8 w-64 h-64 bg-purple-300 rounded-full opacity-20 animate-pulse delay-300"></div>
                        <div class="relative z-10 bg-white p-6 rounded-2xl shadow-2xl">
                            <div class="mermaid">
                                graph TD
                                    A[JVM 架构] --> B[类加载子系统]
                                    A --> C[运行时数据区]
                                    A --> D[执行引擎]
                                    A --> E[垃圾回收器]
                                    A --> F[本地接口]
                                    B --> B1[加载]
                                    B --> B2[链接]
                                    B --> B3[初始化]
                                    C --> C1[程序计数器]
                                    C --> C2[虚拟机栈]
                                    C --> C3[本地方法栈]
                                    C --> C4[堆]
                                    C --> C5[方法区]
                                    D --> D1[解释器]
                                    D --> D2[JIT编译器]
                                    E --> E1[Serial GC]
                                    E --> E2[Parallel GC]
                                    E --> E3[G1 GC]
                                    F --> F1[JNI]
                                    F --> F2[JNA]
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Overview Section -->
    <section id="overview" class="py-16 px-4 sm:px-6 lg:px-8 bg-white">
        <div class="max-w-5xl mx-auto">
            <div class="text-center mb-16">
                <h2 class="text-3xl font-bold mb-4">Java 虚拟机核心架构</h2>
                <div class="w-24 h-1 bg-blue-500 mx-auto"></div>
                <p class="mt-6 text-lg text-gray-600 max-w-3xl mx-auto">JVM 的内部结构包括多个关键组件和子系统，它们协同工作以确保 Java 程序的高效运行。</p>
            </div>
            
            <div class="grid md:grid-cols-2 gap-8 mb-16">
                <div class="card bg-gradient-to-br from-blue-50 to-indigo-50 p-8">
                    <div class="feature-icon bg-blue-100 text-blue-600">
                        <i class="fas fa-microchip text-2xl"></i>
                    </div>
                    <h3 class="text-xl font-semibold mb-4">核心功能</h3>
                    <ul>
                        <li class="list-item">跨平台执行 Java 字节码</li>
                        <li class="list-item">自动内存管理</li>
                        <li class="list-item">高效的垃圾回收机制</li>
                        <li class="list-item">安全沙箱环境</li>
                        <li class="list-item">动态类加载</li>
                    </ul>
                </div>
                
                <div class="card bg-gradient-to-br from-purple-50 to-pink-50 p-8">
                    <div class="feature-icon bg-purple-100 text-purple-600">
                        <i class="fas fa-cogs text-2xl"></i>
                    </div>
                    <h3 class="text-xl font-semibold mb-4">性能优化</h3>
                    <ul>
                        <li class="list-item">即时编译(JIT)技术</li>
                        <li class="list-item">高效的内存区域划分</li>
                        <li class="list-item">多种垃圾回收器选择</li>
                        <li class="list-item">运行时性能监控</li>
                        <li class="list-item">热点代码优化</li>
                    </ul>
                </div>
            </div>
            
            <div class="bg-gray-50 rounded-xl p-8 shadow-sm">
                <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1660385030479-770a503d-a000-4d76-a641-3438c3656455.png" alt="JVM架构图" class="w-full rounded-lg shadow-md mb-6">
                <p class="text-gray-600 text-center">JVM 架构概览图展示了各组件之间的关系和交互方式</p>
            </div>
        </div>
    </section>

    <!-- Components Section -->
    <section id="components" class="py-16 px-4 sm:px-6 lg:px-8 bg-gray-50">
        <div class="max-w-5xl mx-auto">
            <div class="text-center mb-16">
                <h2 class="text-3xl font-bold mb-4">JVM 核心组件详解</h2>
                <div class="w-24 h-1 bg-blue-500 mx-auto"></div>
                <p class="mt-6 text-lg text-gray-600 max-w-3xl mx-auto">深入解析 JVM 的各个子系统及其工作原理</p>
            </div>
            
            <!-- Class Loader Subsystem -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">1</span>
                    </div>
                    <h3 class="text-2xl font-bold">类加载器子系统</h3>
                </div>
                
                <div class="grid md:grid-cols-2 gap-8">
                    <div>
                        <h4 class="section-title text-xl font-semibold mb-4">作用</h4>
                        <ul class="space-y-3">
                            <li class="flex items-start">
                                <span class="bg-blue-100 text-blue-600 rounded-full w-6 h-6 flex items-center justify-center mr-3 flex-shrink-0">1</span>
                                <span><strong>加载(Loading)</strong>：从各种来源(如文件系统、网络)加载 .class 文件</span>
                            </li>
                            <li class="flex items-start">
                                <span class="bg-blue-100 text-blue-600 rounded-full w-6 h-6 flex items-center justify-center mr-3 flex-shrink-0">2</span>
                                <span><strong>链接(Linking)</strong>：验证类文件的正确性，准备类的静态字段，解析类中的符号引用</span>
                            </li>
                            <li class="flex items-start">
                                <span class="bg-blue-100 text-blue-600 rounded-full w-6 h-6 flex items-center justify-center mr-3 flex-shrink-0">3</span>
                                <span><strong>初始化(Initialization)</strong>：初始化类变量和执行静态初始化块</span>
                            </li>
                        </ul>
                    </div>
                    
                    <div>
                        <h4 class="section-title text-xl font-semibold mb-4">组件</h4>
                        <div class="space-y-4">
                            <div class="p-4 bg-blue-50 rounded-lg border-l-4 border-blue-500">
                                <h5 class="font-semibold mb-1">Bootstrap ClassLoader</h5>
                                <p class="text-gray-600">加载核心 Java 类库，如 java.lang.Object</p>
                            </div>
                            <div class="p-4 bg-indigo-50 rounded-lg border-l-4 border-indigo-500">
                                <h5 class="font-semibold mb-1">Platform ClassLoader(系统类加载器)</h5>
                                <p class="text-gray-600">加载应用程序的类路径中的类</p>
                            </div>
                            <div class="p-4 bg-purple-50 rounded-lg border-l-4 border-purple-500">
                                <h5 class="font-semibold mb-1">Custom ClassLoader(自定义类加载器)</h5>
                                <p class="text-gray-600">用户定义的类加载器，用于加载特定类资源</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Runtime Data Areas -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">2</span>
                    </div>
                    <h3 class="text-2xl font-bold">运行时数据区</h3>
                </div>
                
                <p class="text-lg text-gray-600 mb-8">JVM 在执行 Java 程序时会使用多个内存区域，这些区域包括：</p>
                
                <div class="grid md:grid-cols-2 gap-6">
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-4">
                            <div class="bg-blue-100 text-blue-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-memory"></i>
                            </div>
                            <h4 class="text-lg font-semibold">程序计数器(Program Counter Register)</h4>
                        </div>
                        <p class="text-gray-600">每个线程都有一个程序计数器，用于记录当前线程正在执行的字节码指令的地址。程序计数器是线程私有的。</p>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-4">
                            <div class="bg-green-100 text-green-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-layer-group"></i>
                            </div>
                            <h4 class="text-lg font-semibold">虚拟机栈(Java Virtual Machine Stack)</h4>
                        </div>
                        <p class="text-gray-600">每个线程有一个虚拟机栈，用于存储方法调用时的局部变量、操作数栈、动态链接、返回地址等。每个方法的调用都会创建一个栈帧，方法执行完毕后栈帧被销毁。</p>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-4">
                            <div class="bg-purple-100 text-purple-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-code-branch"></i>
                            </div>
                            <h4 class="text-lg font-semibold">本地方法栈(Native Method Stack)</h4>
                        </div>
                        <p class="text-gray-600">类似于虚拟机栈，但用于支持 JNI 调用(即调用本地代码)。它存储本地方法的调用信息。</p>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-4">
                            <div class="bg-red-100 text-red-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-database"></i>
                            </div>
                            <h4 class="text-lg font-semibold">堆(Heap)</h4>
                        </div>
                        <p class="text-gray-600">用于存储 Java 对象和数组，是垃圾回收的主要区域。堆内存通常被划分为年轻代(Young Generation)和老年代(Old Generation)，每个区域都有不同的垃圾回收策略。</p>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-4">
                            <div class="bg-yellow-100 text-yellow-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-archive"></i>
                            </div>
                            <h4 class="text-lg font-semibold">方法区(Method Area)</h4>
                        </div>
                        <p class="text-gray-600">存储类的结构信息，如运行时常量池、字段和方法数据、方法和构造函数的代码等。JDK 8 之后，方法区被 Metaspace 替代，Metaspace 使用本地内存来存储类的元数据。</p>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-4">
                            <div class="bg-indigo-100 text-indigo-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-meteor"></i>
                            </div>
                            <h4 class="text-lg font-semibold">Metaspace</h4>
                        </div>
                        <p class="text-gray-600">JDK 8 之后的方法区替代，专门用于存储类的元数据，如类结构、方法信息等。与方法区不同，Metaspace 不再使用虚拟机堆内存，而是使用本地内存。</p>
                    </div>
                </div>
            </div>
            
            <!-- Execution Engine -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">3</span>
                    </div>
                    <h3 class="text-2xl font-bold">执行引擎</h3>
                </div>
                
                <div class="grid md:grid-cols-2 gap-8">
                    <div>
                        <div class="card bg-gradient-to-br from-blue-50 to-indigo-50 p-8 h-full">
                            <h4 class="section-title text-xl font-semibold mb-4">解释器(Interpreter)</h4>
                            <p class="text-gray-600">逐条解释字节码指令并执行，适用于快速启动应用程序，但效率相对较低。</p>
                            <div class="mt-6">
                                <div class="bg-white rounded-lg p-4 shadow-inner">
                                    <div class="text-sm font-mono text-gray-700">
                                        <div class="text-blue-600">0: iconst_1</div>
                                        <div class="text-blue-600">1: istore_1</div>
                                        <div class="text-blue-600">2: iload_1</div>
                                        <div class="text-blue-600">3: iconst_1</div>
                                        <div class="text-blue-600">4: iadd</div>
                                        <div class="text-blue-600">5: istore_1</div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    
                    <div>
                        <div class="card bg-gradient-to-br from-green-50 to-teal-50 p-8 h-full">
                            <h4 class="section-title text-xl font-semibold mb-4">即时编译器(Just-In-Time Compiler, JIT)</h4>
                            <p class="text-gray-600">将热点代码编译为本地机器码以提高执行效率。JIT 编译器在程序运行时进行编译，并将编译后的代码存储在内存中，以便后续调用。</p>
                            <div class="mt-6">
                                <div class="bg-white rounded-lg p-4 shadow-inner">
                                    <div class="flex items-center">
                                        <div class="bg-green-100 text-green-600 rounded-full w-8 h-8 flex items-center justify-center mr-3">
                                            <i class="fas fa-bolt"></i>
                                        </div>
                                        <div>
                                            <div class="font-semibold">热点代码检测</div>
                                            <div class="text-xs text-gray-500">方法调用计数器 & 回边计数器</div>
                                        </div>
                                    </div>
                                    <div class="mt-3 text-sm text-gray-600">
                                        将频繁执行的字节码编译为优化的本地机器码，提升执行效率 5-10 倍
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Garbage Collector -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">4</span>
                    </div>
                    <h3 class="text-2xl font-bold">垃圾回收器</h3>
                </div>
                
                <div class="mb-8">
                    <h4 class="section-title text-xl font-semibold mb-4">作用</h4>
                    <div class="bg-yellow-50 border-l-4 border-yellow-400 p-4 rounded-r-lg">
                        <p class="text-gray-600"><strong>自动内存管理</strong>：垃圾回收器负责回收不再使用的对象，以释放内存空间，避免内存泄漏和过度的内存消耗。</p>
                    </div>
                </div>
                
                <h4 class="section-title text-xl font-semibold mb-4">常见垃圾回收器</h4>
                <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-3">
                            <div class="bg-red-100 text-red-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-recycle"></i>
                            </div>
                            <h5 class="font-semibold">Serial GC</h5>
                        </div>
                        <p class="text-sm text-gray-600">单线程，适用于小型应用</p>
                        <div class="mt-3">
                            <span class="inline-block bg-red-100 text-red-600 text-xs px-2 py-1 rounded">标记-整理</span>
                        </div>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-3">
                            <div class="bg-blue-100 text-blue-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-tachometer-alt"></i>
                            </div>
                            <h5 class="font-semibold">Parallel GC</h5>
                        </div>
                        <p class="text-sm text-gray-600">多线程，优化吞吐量</p>
                        <div class="mt-3">
                            <span class="inline-block bg-blue-100 text-blue-600 text-xs px-2 py-1 rounded">吞吐量优先</span>
                        </div>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-3">
                            <div class="bg-purple-100 text-purple-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-stopwatch"></i>
                            </div>
                            <h5 class="font-semibold">CMS GC</h5>
                        </div>
                        <p class="text-sm text-gray-600">减少垃圾回收停顿时间</p>
                        <div class="mt-3">
                            <span class="inline-block bg-purple-100 text-purple-600 text-xs px-2 py-1 rounded">低延迟</span>
                        </div>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-3">
                            <div class="bg-green-100 text-green-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-chess-board"></i>
                            </div>
                            <h5 class="font-semibold">G1 GC</h5>
                        </div>
                        <p class="text-sm text-gray-600">低延迟和高吞吐量</p>
                        <div class="mt-3">
                            <span class="inline-block bg-green-100 text-green-600 text-xs px-2 py-1 rounded">均衡型</span>
                        </div>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-3">
                            <div class="bg-indigo-100 text-indigo-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-expand"></i>
                            </div>
                            <h5 class="font-semibold">ZGC</h5>
                        </div>
                        <p class="text-sm text-gray-600">低延迟，适用于大规模内存</p>
                        <div class="mt-3">
                            <span class="inline-block bg-indigo-100 text-indigo-600 text-xs px-2 py-1 rounded">可扩展</span>
                        </div>
                    </div>
                    
                    <div class="card bg-white p-6">
                        <div class="flex items-center mb-3">
                            <div class="bg-pink-100 text-pink-600 w-10 h-10 rounded-lg flex items-center justify-center mr-3">
                                <i class="fas fa-mountain"></i>
                            </div>
                            <h5 class="font-semibold">Shenandoah GC</h5>
                        </div>
                        <p class="text-sm text-gray-600">低延迟，适用于大规模内存</p>
                        <div class="mt-3">
                            <span class="inline-block bg-pink-100 text-pink-600 text-xs px-2 py-1 rounded">并发整理</span>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Native Interface -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">5</span>
                    </div>
                    <h3 class="text-2xl font-bold">本地接口</h3>
                </div>
                
                <div class="grid md:grid-cols-2 gap-8">
                    <div class="card bg-gradient-to-br from-orange-50 to-amber-50 p-8">
                        <h4 class="section-title text-xl font-semibold mb-4">Java Native Interface (JNI)</h4>
                        <p class="text-gray-600 mb-6">允许 Java 代码与其他语言编写的本地代码进行交互。JNI 定义了 Java 与本地代码之间的调用约定，支持复杂的双向调用和数据交换。</p>
                        <div class="bg-white rounded-lg p-4 shadow-inner">
                            <div class="text-sm font-mono text-gray-700">
                                <div class="text-orange-600">public class NativeDemo {</div>
                                <div class="pl-4 text-orange-600">static { System.loadLibrary("native"); }</div>
                                <div class="pl-4 text-orange-600">public native void nativeMethod();</div>
                                <div class="text-orange-600">}</div>
                            </div>
                        </div>
                    </div>
                    
                    <div class="card bg-gradient-to-br from-teal-50 to-cyan-50 p-8">
                        <h4 class="section-title text-xl font-semibold mb-4">Java Native Access (JNA)</h4>
                        <p class="text-gray-600 mb-6">简化了与本地代码的交互，不需要编写 JNI 代码。JNA 提供了高级抽象，只需定义 Java 接口就能调用本地库函数，大大降低了开发难度。</p>
                        <div class="bg-white rounded-lg p-4 shadow-inner">
                            <div class="text-sm font-mono text-gray-700">
                                <div class="text-teal-600">public interface CLibrary extends Library {</div>
                                <div class="pl-4 text-teal-600">CLibrary INSTANCE = Native.load("c", CLibrary.class);</div>
                                <div class="pl-4 text-teal-600">void printf(String format, Object... args);</div>
                                <div class="text-teal-600">}</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Debugging and Monitoring Tools -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">6</span>
                    </div>
                    <h3 class="text-2xl font-bold">调试和监控工具</h3>
                </div>
                
                <div class="grid md:grid-cols-2 gap-8">
                    <div>
                        <h4 class="section-title text-xl font-semibold mb-4">监控工具</h4>
                        <p class="text-gray-600 mb-6">如 JConsole、VisualVM、JProfiler，用于实时监控 JVM 的性能、内存使用情况等。</p>
                        
                        <div class="space-y-4">
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-blue-100 text-blue-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-chart-line"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">JConsole</h5>
                                    <p class="text-sm text-gray-600">内置的 JMX 监控工具，提供内存、线程、类加载等基本监控功能</p>
                                </div>
                            </div>
                            
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-purple-100 text-purple-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-tachometer-alt"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">VisualVM</h5>
                                    <p class="text-sm text-gray-600">功能强大的可视化分析工具，支持插件扩展，可进行 CPU 采样、内存分析等</p>
                                </div>
                            </div>
                            
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-green-100 text-green-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-search"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">JProfiler</h5>
                                    <p class="text-sm text-gray-600">商业性能分析工具，提供深入的 CPU、内存、线程分析功能</p>
                                </div>
                            </div>
                        </div>
                    </div>
                    
                    <div>
                        <h4 class="section-title text-xl font-semibold mb-4">调试工具</h4>
                        <p class="text-gray-600 mb-6">如 jdb、jstack、jmap、jcmd 等，用于分析线程状态、堆快照等信息。</p>
                        
                        <div class="space-y-4">
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-red-100 text-red-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-bug"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">jdb</h5>
                                    <p class="text-sm text-gray-600">Java 调试器，用于命令行调试 Java 应用程序</p>
                                </div>
                            </div>
                            
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-yellow-100 text-yellow-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-th-list"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">jstack</h5>
                                    <p class="text-sm text-gray-600">堆栈跟踪工具，用于获取 Java 进程的线程堆栈信息</p>
                                </div>
                            </div>
                            
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-indigo-100 text-indigo-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-memory"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">jmap</h5>
                                    <p class="text-sm text-gray-600">内存映射工具，用于生成堆转储快照(heap dump)</p>
                                </div>
                            </div>
                            
                            <div class="flex items-start bg-gray-50 p-4 rounded-lg">
                                <div class="bg-pink-100 text-pink-600 rounded-lg p-2 mr-4">
                                    <i class="fas fa-terminal"></i>
                                </div>
                                <div>
                                    <h5 class="font-semibold mb-1">jcmd</h5>
                                    <p class="text-sm text-gray-600">多功能命令行工具，可以发送诊断命令到 JVM</p>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Runtime Constant Pool -->
            <div class="mb-20">
                <div class="flex items-center mb-8">
                    <div class="bg-blue-500 text-white w-12 h-12 rounded-full flex items-center justify-center mr-4">
                        <span class="text-xl font-bold">7</span>
                    </div>
                    <h3 class="text-2xl font-bold">运行时常量池</h3>
                </div>
                
                <div class="card bg-gradient-to-br from-indigo-50 to-blue-50 p-8">
                    <div class="flex items-start">
                        <div class="bg-indigo-100 text-indigo-600 rounded-lg p-3 mr-6">
                            <i class="fas fa-box-open text-2xl"></i>
                        </div>
                        <div>
                            <p class="text-gray-600">方法区的一部分，用于存储类文件中的常量，如字符串字面量、类和方法引用等。运行时常量池允许类在加载后动态添加常量。</p>
                            <div class="mt-6">
                                <div class="bg-white rounded-lg p-4 shadow-inner">
                                    <div class="text-sm font-mono text-gray-700">
                                        <div class="text-indigo-600"># 运行时常量池示例</div>
                                        <div class="text-indigo-600">CONSTANT_Utf8_info: "HelloWorld"</div>
                                        <div class="text-indigo-600">CONSTANT_Class_info: #1  // java/lang/Object</div>
                                        <div class="text-indigo-600">CONSTANT_Methodref_info: #2.#3  // java/lang/Object."<init>":()V</div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="footer py-12 px-4">
        <div class="max-w-5xl mx-auto">
            <div class="flex flex-col md:flex-row justify-between items-center">
                <div class="mb-6 md:mb-0">
                    <h3 class="text-xl font-bold text-white mb-2">技术小馆</h3>
                    <a href="http://www.yuque.com/jtostring" class="text-blue-300 hover:text-blue-100 transition duration-300">http://www.yuque.com/jtostring</a>
                </div>
                <div class="flex space-x-6">
                    <a href="#" class="text-gray-300 hover:text-white transition duration-300">
                        <i class="fab fa-github text-2xl"></i>
                    </a>
                    <a href="#" class="text-gray-300 hover:text-white transition duration-300">
                        <i class="fab fa-twitter text-2xl"></i>
                    </a>
                    <a href="#" class="text-gray-300 hover:text-white transition duration-300">
                        <i class="fab fa-linkedin text-2xl"></i>
                    </a>
                </div>
            </div>
            <div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400 text-sm">
                <p>© 2023 技术小馆. 保留所有权利.</p>
            </div>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: false,
                htmlLabels: true,
                curve: 'basis'
            },
            themeVariables: {
                primaryColor: '#3b82f6',
                primaryBorderColor: '#1d4ed8',
                lineColor: '#93c5fd'
            }
        });
    </script>
</body>
</html>
```